1. Field
The present disclosure relates generally to cable modem communication systems and, more particularly, to a network device for re-ordering segments of segmented flows of a data stream.
2. Related Art
Continuous increasing demand for broadband services has given rise to the development of multiple technologies, such as Digital Subscriber Line (DSL), Wi-Max, Digital Multimedia Broadcasting (DMB), and the like, to support the rising demand. In addition, Data over Cable Service Interface Specification (DOCSIS) technologies are rapidly gaining importance among cable system users to provide high-speed data transmission for broadband services.
DOCSIS provides a standard specifying communication and operation support requirements for cable modems (CMs) and the supporting systems to provide high-speed data transmission for services, such as internet access (e.g., video streaming, online gaming, downloading/uploading web content, and the like), as well as cable television (CATV) services to end users. In order to support such high-speed data transmission, the latest version of DOCSIS, DOCSIS 3.0, specifies a Continuous Concatenation and Fragmentation (CCF) feature, also called channel bonding. Channel bonding allows a CM at a user location to fragment a data packet stream into multiple segments and transmit these segments over different channels to a centralized cable modem termination system (CMTS). Additionally, a CMTS may employ channel bonding to generate and transmit a segmented data stream to a downstream CM. By using multiple channels to transmit segments of a data stream, the bandwidth of the cable system is significantly increased and optimally utilized.
However, differences in the properties of a transmission media at different frequencies, varied routing distances of segments, processing time required for switches within the route, and the like, may cause varying delays, such as propagation delay, transmission delay, and/or the like, for segments transmitted over different channels. Accordingly, consecutive segments transmitted over different channels may reach the end terminal (i.e., the CM or CMTS) at different intervals of time. Moreover, during transmission, one or more segments may be “lost” in the communication channel and never arrive at the end terminal. These delays and lost segments detrimentally impact the accuracy and/or quality of the communication between a CM and a CMTS.
Therefore, there is a need in the art to efficiently process received segments of a segmented data stream to retrieve the original data packets from the received segments.